<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>数组-对象键值遍历</title>
  </head>
  <body>
    <script>
      /*
       * 数组/对象键值遍历方法
       *   (1)for...in： 遍历key(键)，数组/对象都可以遍历;
       *   (2)for..of：  遍历value(值), 数组遍历;
       *   (3)Object.keys(obj)：返回的是对象key(键)的数组;
       *      Object.keys返回一个数组，包括对象自身的（不含继承的）所有可枚举属性（不含 Symbol 属性）的键名。
       *   (4)Object.values(obj)：返回的是对象value(值)的数组;
       *   (5)Object.entries(obj)：返回的是对象key-value(键值对)的数组
       */
      const obj = {
        a: 1,
        b: 2,
        c: 3,
      };
      const arr =  ['a','b','c']
      //遍历key
      for(let i in obj){
        console.log(i); ///a,b,c
      }
      for(let i in arr){
        console.log(i); ///0,1,2
      }

      //遍历的是value
      for(let i of arr){
        console.log(i);//a,b,c
      }

      console.log(Object.keys(obj));  //['a','b','c']
      console.log(Object.values(obj));  //[1,2,3]
      console.log(Object.entries(obj)); //[['a', 1]  ["b", 2]  ["c", 3]]

    </script>
  </body>
</html>
